/*
*  LLFileUtils.h
*  
*
*  Created by Alexander Trutchenko on 11/02/12.
*  Copyright 2012 Free Team. All rights reserved.
*
*/

#ifndef __LL_FileUtils_h__
#define __LL_FileUtils_h__



#include <string>
#include <vector>

namespace lidlib {

/////////////////////////////////////////////////////
//
/** LLFileUtils 
* 
*/
/////////////////////////////////////////////////////

class LLFileUtils
{
public:
    static void setResourcePath(const char *pszResourcePath);
	static const std::string& getResourcePath();

	static std::string getWriteablePath();

	/* Returns true is file exists */
	static bool isFileExists(const std::string& fileName);
	static unsigned char* getFileData(const std::string& fileName, unsigned long* pSize);

    static std::string fullPathFromRelativePath(const std::string& relativePath);
    static std::string fullPathFromRelativeFile(const std::string& filename, const std::string& relativeFile);

	static std::vector<std::string> getFileList(const std::string& fullDirectoryPath);
	static std::vector<std::string> getDirectoryList(const std::string& fullDirectoryPath);

};

} // namespace lidlib

#endif //__LL_FileUtils_h__
